Multi-protocol memory card

ABSTRACT

According to some embodiments of the present invention, a multiprotocol non-volatile memory (“NVM”) card may include a NVM array, at least two protocol units, and a controller adapted to provide an external application access to the NVM array with the use of one of the protocol units. The controller or control logic may select which protocol unit to use based on a signal or other indicator of the protocol used by the external application. According to some embodiments of the present invention, a method of operating a multi-protocol memory card may include switching between a first and second protocol or mode of the card based on a signal from an application attempting to access to the NVM card.

FIELD OF THE INVENTION

[0001] The present invention relates generally to non-volatile memorycards and methods for operation thereof and, more particularly, tomulti-mode operation of non-volatile memory cards.

BACKGROUND OF THE INVENTION

[0002] The operation of mass media non-volatile memory (“NVM”) cards iswell known. Various NVM mass storage devices able to handle large datafiles such as smart media cards, MultiMediaCards, memory sticks, andother like NVM mass storage devices and cards have been gaining marketacceptance over the past several years. Hereinbelow, the termMultiMediaCard (“MMC”), or the like, refers to any NVM mass storagedevice able to handle large data files regardless of the protocol used.To date, the above NVM cards have been used for consumer applicationssuch as digital cameras and portable music devices. Due to the absenceof an agreed upon security standard for the above mentioned NVM cardstandards, none have been approved by any industry (e.g. banking,telecom, etc.) for the storage of private data such as bank details ortelephone account information.

[0003] A category of NVM cards known as “smart-cards,” having generallysmaller capacity than the above mentioned mass storage devices, whichwork with secured application such as “smart card applications,” havebeen known and adopted for commercial use by several industriesincluding banking and telecommunications. Hereinbelow, the term“smart-card applications” refers to all secured applications known whichrelate or conform to the interoperability standard defined by theInternational Standards Organization (ISO) as the ISO 7816 standard forintegrated circuit cards with contacts, or with any other securestandard. The specifications of the ISO 7816 standard, and any otherstandards which may relate thereto, focus on interoperability of securedapplications over the physical, electrical, and data-link protocollevels.

[0004] There is a broad base of smart-card applications already on themarket, and the need for secured applications in general is growing.Banks and credit institutions, for example, have defined anindustry-specific smart card specification. This specification adoptedthe ISO 7816 standards and defined some additional data types andencoding rules for use by the financial services industry. This industrystandard is called the EMV (Europay-MasterCard-Visa) standard. The ISO7816 standard has also been adopted by the telecommunication industry,for use with the global system for mobile communications (GSM), toenable identification and authentication of mobile telephone users.

[0005] Due to the ISO 7816 standards, as well as the specifications thathave adopted it, smart card applications and other ISO 7816 compliantapplications currently operate only on an ISO 7816 communicationprotocol, for the most part using I/O, clock (CLK), and reset (RST)lines to store and retrieve data from a smart-card chip which us usuallyintegrated within a smart-card controller of a protocol unit.

SUMMARY OF THE INVENTION

[0006] According to some embodiments of the present invention, amulti-protocol non-volatile memory (“NVM”) card may include a NVM array,at least two protocol units, and a controller adapted to provide anexternal application access to the NVM array with the use of one of theprotocol units. The controller or control logic may select whichprotocol unit to use based on a signal or other indicator of theprotocol used by the external application.

[0007] As part of the present invention, there may be a method ofoperating a multi-protocol NVM card. According to some embodiments ofthe present invention, a method of operating a multi-protocol memorycard may include switching between a first and a second protocol mode ofthe card based on a signal from an application attempting to access tothe NVM card.

[0008] According to a further embodiment of the present invention, theremay be an interface and a method of operating the interface, where theinterface is between an external application substantially compliantwith the ISO 7816 standard and a multi-protocol memory card. Theinterface may include a first connector to the external application anda second connector to the multi-protocol memory card.

[0009] An interface according to some embodiments of the presentinvention may also include a signaling structure to indicate to themulti-protocol memory card to operate in a mode substantially compliantwith the ISO 7816 standard.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Aspects of the present invention may best be understood byreference to the following detailed description when read with theaccompanying drawings, in which:

[0011]FIG. 1 is a block diagram illustration of a multi-protocol memorycard, operative in accordance with some embodiments of the presentinvention;

[0012]FIG. 2 is a block diagram illustration of some embodiments of themulti-protocol memory card of FIG. 1, where the card is adapted tooperate in either an ISO 7816 protocol mode or in an MMC protocol mode;

[0013]FIG. 3 is a more detailed block diagram of the card of FIG. 2,including details regarding possible logic circuit arrangementsaccording to some embodiments of the present invention;

[0014]FIG. 4 is a block diagram showing the multi-protocol card of FIG.1, wherein the NVM array of the card has been partitioned for use byeach of three external applications, in accordance with some of theembodiments of the present invention;

[0015]FIG. 5 is a block diagram showing a card according to any of FIGS.1 through 4, or any other multi-protocol card, communicating with an ISO7816 external application through an interface according to someembodiments of the present invention;

[0016]FIG. 6 is a flow chart illustration of a method by which amulti-protocol card may switch from a first protocol mode (e.g. MMCmode) to a second protocol node (e.g. ISO 7816 mode ) in accordance withsome embodiments of the present invention.

[0017]FIG. 7 is a flow chart illustration of a method by which amulti-protocol card may switch from a second protocol mode (e.g. ISO7816 mode) to a first protocol mode (e.g. MMC mode) in accordance withsome embodiments of the present invention.

[0018] It will be appreciated that for simplicity and clarity ofillustration, elements shown in the figures have not necessarily beendrawn to scale. For example, the dimensions of some of th elements maybe exaggerated relative to other elements for clarity. Further, whereconsidered appropriate, reference numerals may be repeated among thefigures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

[0019] In the following detailed description, numerous specific detailsare set forth in order to provide a thorough understanding of theinvention. However, it will be understood by those of ordinary skill inthe art that the present invention may be practiced without thesespecific details. In other instances, well-known methods, procedures,and components have not been described in detail so as not to obscurethe present invention.

[0020] According to some embodiments of the present invention, amulti-protocol non-volatile memory (“NVM”) card may include a NVM array,at least two protocol units, and a controller or control logic adaptedto provide an external application access to the NVM array using one ofthe protocol units. The controller or control logic may select whichprotocol unit to use based on an indicator of the protocol used by theexternal application.

[0021] As part of the present invention, there may be a method ofoperating a multi-protocol NVM card. According to some embodiments ofthe present invention, a method of operating a multi-protocol memorycard may include switching between a first and a second protocol mode ofthe card based on a signal from an application attempting to access tothe NVM card.

[0022] According to a further embodiment of the present invention, theremay be an interface and a method of operating the interface, where theinterface is between an external application substantially compliantwith the ISO 7816 standard and a multi-protocol memory card. Theinterface may include a first connector to the external application anda second connector to the multi-protocol memory card. An interfaceaccording to some embodiments of the present invention may also includea signaling structure to indicate to the multi-protocol memory card tooperate in a mode substantially compliant with the ISO 7816 standard.

[0023] As part of some embodiments of the present invention, there maybe an implementation on a single memory card having a first protocolunit, for example a MultiMediaCard (“MMC”) protocol unit, and a secondprotocol unit, for example an ISO 7816 memory card protocol unit.According to some embodiments of the present invention, a single NVMcard may enable different applications, where each application usesdifferent protocols, to operate on and access an NVM on the same NVMcard.

[0024] Reference is now made to FIG. 1, which is a block diagramillustration of a multi-protocol memory card 10, operative in accordancewith some embodiments of the present invention. Memory card 10 mayinclude at least two protocol units, a first protocol unit 20 and asecond protocol unit 30, as well as a controller 40 or control logicunit 40, and an NVM array 50 or NVM unit 50.

[0025] Either or both of the protocol units 20 and 30, may conform to astandardized protocol known in the art, for example; (1) MMC protocol,(2) ISO 7816 -smart card protocol, (3) memory stick protocol, etc. Anyone of the protocols associated with one or more protocol units mayinclude a security or encryption feature. One or more of the protocolunits 20 and 30, may include an integrated NVM array 32. For example,according to the ISO 7816 smart card standard, an ISO 7816 compliantsmartcard may have an integrated controller unit, i.e. protocol unit,and integrated NVM array.

[0026] A multi-protocol NVM card according to some embodiments of thepresent invention may include an internal communication bus, whichcommunication bus may allow the control logic 40 to communicate witheither of the protocol units 20 or 30, and which may allow either of theprotocol units to access the NVM unit 50, either directly or through thecontroller 40. Connector pins 60 may connect the controller 40 andinternal bus to an external application. One or more of the connectorpins, e.g. 65, may be used to indicate to the control logic 40 whichprotocol unit may communicate with an external application attempting toaccess the card.

[0027] Controller or control logic 40 may include a protocol selectionmodule 42 and a mode initialization module 44. Protocol selection module42 may determine, based on signals from an external application, inwhich protocol mode the card should be operating and may signal internalswitching circuits to activate the appropriate protocol unit. Herein,signals may be software/firmware and/or hardware generated. Modeinitialization module 44 may initialize or condition the logic state ofthe NVM card 10 in order to produce an internal logic statecorresponding to an NVM card of the desired protocol.

[0028] The various portions of a multi-mode NVM card according to someembodiments of the present invention may be implemented on separatesubstrates (e.g. semi-conductor chips or cards), may be fabricated onthe same substrates, or may be implemented in any combination. Forexample, according an embodiment of the present invention, the firstprotocol unit 20 and the logic unit 40 may be implemented on the samesubstrate. In a further embodiment of the invention, the second protocolunit 30 and logic unit 40 may be implemented on the same substrate. Inyet a further embodiment of the invention, memory unit 50 and the secondprotocol unit 30 may be implemented on the same substrate. Many othercombinations will be obvious to a person of ordinary skill in the artand are within the scope of the present invention.

[0029] The first protocol unit 20 may be implemented in any manner knownin the art. For example, in a non-limiting embodiment of the presentinvention, it may be implemented as an MMC protocol unit, which protocolunit may be part of an MMC controller commercially available today.Memory unit 50 may also be implemented in any manner known in the art.It may be implemented, in a non-limiting embodiment of the presentinvention, as an NROM memory array or unit, for example.

[0030] Turning now to FIG. 2, there is shown a block diagramillustration of some embodiments of the multi-protocol memory card ofFIG. 1, where the card is adapted to operate in either an ISO 7816protocol mode or in an MMC protocol mode. Multi-protocol memory card 10may include a first protocol unit 20 and a second protocol unit 30,which second protocol unit may be ISO 7816 complaint. According to someembodiments of the present invention, first protocol unit 20 may be aMultiMediaCard protocol unit, a SecureDigital protocol unit, aCompactFlash protocol unit, a Memory Stick protocol unit, and anon-volatile mass memory card protocol unit. Hence, the first protocolunit 20 may be any MMC controller available on the market today.According to some embodiments of the present invention, the secondprotocol unit 30 may be a smart card controller, for example, anInfineon™ SLE66 smartcard controller (available from InfineonTechnologies Flash Ltd., Netanya, Israel) with an integrated NVM array32. The control logic 40 may either be an ASIC (“application specificintegrated circuit”) or a modified portion of either an ISO 7816 or anMMC compliant controller. p FIG. 2 shows an ISO 7816 compliant hostapplication 100 (e.g. banking application) communicating with themultiprotocol NVM using a data line, a clock line, and a reset line. Thecontrol logic 40, having identified that the application is an ISO 7816application, may connect, either directly or through an external switch(not shown), the signals or lines from the ISO 7816 host application tothe second protocol unit 30. Had the control unit 40 or control logic 40identified the application attempting access to be an MMC application,the control logic 40 may have connected the relevant lines or signalsfrom the application to the MMC protocol unit 20, either directly orthrough an external switch or multiplexer (“MUX”). For example, in anembodiment of the present invention, the reserved pin of the ISO 7816standard may be used.

[0031] Turning now to FIG. 3, there is shown a more detailed blockdiagram of the card of FIG. 2, including some details regarding possiblelogic circuit arrangements according to some embodiments of the presentinvention. One set of pins 60A may be used to communicate with an ISO7816 application, while a second set of pins 60B may be used tocommunicate with an MMC application. A select pun may receive a signalindicating whether an application attempting to access the card 10 iseither an ISO 7816 or MMC application. Pins 60A and 60B may be twopartially overlapping sets of pins.

[0032] An ISO controller 40 may be adapted to accept a protocolindicator signal from pin 65 and to either connect pin set 60A to thesecond protocol unit 30 (i.e. SmartCard Controller) or to connected pinset 60B to the first protocol unit 20 (MMC). One or moreswitches/multiplexers 70 may be used to switch internal signal paths ina multi-protocol card 10 according to some embodiments of the presentinvention.

[0033] Turning now to FIG. 4, there is shown a block diagram of themulti-protocol card of FIG. 1, wherein the NVM array of the card hasbeen partitioned for use by each of three external applications, inaccordance with some of the embodiments of the present invention. Thecontrol logic 40 according to some embodiments of the present inventionmay produce a file allocation or application allocation table 50A of theNVM array 50. The allocation table 50A may allow several applications toshare space on the NVM array. When a particular application attempts toaccess the card, the control logic 40 may use the allocation table 50Ato determine to which physical portions of the NVM array to grantaccess.

[0034] According to the example of FIG. 4, an ISO 7816 compliantapplication 100A may either access an integrated NVM array 32 on asecond protocol unit 30, or may access a portion of the NVM array 50Bset aside for ISO 7816 compliant use, also using the second protocolunit 30. Each of two MMC applications 100B and 100C may access NVM arrayportions 50C and 50D through the control logic 40 and first (i.e. MMC)protocol unit 20.

[0035] The partitioning of a fixed amount of memory into separate filesor memory segments associated with different applications is well known.Any technique known today or to be devised in the future is applicableto the present invention.

[0036] Turning now to FIG. 5, there is shown a block diagram of a cardaccording to any of FIGS. 1 through 4, or any other multi-protocol card,communicating with an ISO 7816 external application 100 through aninterface 200 according to some embodiments of the present invention. Aninterface according to some embodiments of the present invention mayhave a first set of connecting pins 240 to connect to an externalapplication such as an ISO 7816 compliant application, and a second setof pins 220 to connect a multi-protocol card according some embodimentsof the present invention. The first set of pins may be physicallyconfigured to engage with a host application such as an ISO 7816compliant banking or telecommunications application. Since amulti-protocol card 10 according to some embodiments of the presentinvention may have any one of several physical configurations anddimensions, including those of an MMC card, a smart media card, a memorystick, etc., the second set of pins may be configured to engage with thespecific embodiment of the card. The example of an interface shown inFIG. 5 is that of an interface between an ISO 7816 compliant applicationand a multi-protocol card having a configuration and size of an MMCcard.

[0037] The interface 200 may include wiring to connect signals from thefirst set of connecting pins 240 to the second set of connecting pins220. The wiring may be adapted to map the signals sent by theapplication 100 to the appropriate corresponding pins on the card 10. Asignaling structure 260 may produce a signal, which may indicate to themulti-protocol card 10 to switch to a mode or protocol corresponding tothe protocol associated with the host application 100. In someembodiments of the present invention, the signaling structure is asignal source, while in other embodiments of the present invention, thesignaling structure may be little more than a conductor or jumper whichmay connect two or more pins on the card 10.

[0038] Reference is now made to FIG. 6, which is a flow chartillustration of a method that may be performed to switch amulti-protocol card according to some embodiments of the presentinvention from a first protocol mode, for example an MMC mode, to asecond protocol mode, for example an ISO 7816 compliant mode. The methodmay be performed by a controller or control logic 40operative inaccordance with an embodiment of the present invention.

[0039] The description hereinbelow will use an exemplary non-limitingimplementation with reference to the multi-protocol card 10 of FIGS. 1and 2. Memory card 10 may start in an MMC compliant mode (phase 1000).The card's control logic or controller 40 may be using an MMC protocolunit to communicate with an MMC application, or may simply keep the MMCprotocol unit online while in idle mode. Phase 1200 may be prompted uponreceiving an indication or signal from an external application requiringthe card 10 to be in ISO 7816 mode. According to Phase 1200, an internalswitching command to switch to ISO 7816 mode may be sent. Before theswitching occurs, a check may be done to determine whether the card'scurrent MMC mode details (e.g. configuration, files, etc.) should besaved (phase 1300). If so, at phase 1400 the current MMC compliantdetails may be saved to a NVM array within the card. Part of the NVMarray may contain a memory segment for storing file allocation and cardconfiguration data. If details do not need to be saved, phase 1400 maybe skipped.

[0040] Following phases 1300 and 1400, as part of phase 1500, in settingup the second protocol mode, it may be determined whether an ISO 7816compliant mode reset sequence is required. If a reset sequence is notrequired, an ISO 7816 compliant mode may be established (phase 1600),and at phase 1700 an ISO 7816 compliant mode may be initialized.

[0041] If a reset sequence is required, restoration of a previouslysaved ISO 7816 compliant mode may be performed as part of phase 1800.The mode may be restored based on data stored in an NVM array.

[0042] At phase 1900, which may follow either phase 1700 or phase 1800,an ISO 7816 mode may be operational.

[0043] Reference is now made to FIG. 7, which is a flow chartillustration of a method that may be performed in accordance with someembodiments of the present invention to switch a multi-protocol NVM cardaccording to an embodiment of the present invention from an ISO 7816compliant protocol mode to an MMC protocol compliant mode. A memory card10 according to any one of FIGS. 1 through 5 may start in an ISO 7816compliant mode (phase 2000). A check may be performed so as to determinewhether a switch to an MMC protocol compliant mode may be executed(phase 2100). Mode switching from ISO 7816 mode to MMC protocol mode maybe executed in many ways, including but not limited to by a command thatmay be executed from host 100 to memory card 10, by sending signalsthrough ISO 7816 connector pin 65, or by other signal lines. Under someconditions, a switch from ISO 7816 mode to MMC mode may not be executed(phase 2200) and, therefore, memory card 10 may remain in ISO 7816compliant mode. It may, however, be operated in MMC mode in othercircumstances, including, but not limited to, after power up of memorycard 10. A switching command to MMC mode may be sent (phase 2300). Acheck may then be made as to whether the current ISO 7816 compliant modeshould be saved (phase 2400). If so, at phase 2500, the current ISO 7816compliant mode may be saved.

[0044] A check, which may follow phase 2400 or phase 2500, is made as towhether in setting up the second protocol mode, an MMC modeinitialization sequence is required (phase 2600). If an initializationsequence is required, an initialization of MMC mode may be executed(phase 2700). When an initialization sequence is not required, apreviously saved MMC mode may be restored (phase 2800). A saved MMC modemay be restored if, during a previous session, an MMC mode was saved,e.g. phase 1400, FIG. 6. At phase 2900, a card's MMC mode may beoperational.

[0045] While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents will now occur to those of ordinary skill in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the true spiritof the invention.

What is claimed is:
 1. A multi protocol non-volatile memory (“NVM”) cardcomprising: an NVM unit; at least two protocol units, wherein at leastone of said protocol units having access to said NVM unit; and a logicunit to select one of said at least two protocol units.
 2. The memorycard according to claim 1, wherein said at least two protocol unitscomprise: a first protocol unit; and a second protocol unit, whereinsaid second protocol unit substantially conforms to the ISO 7816standard.
 3. The memory card according to claim 2, wherein said secondprotocol unit comprises an integrated non-volatile memory array.
 4. Thememory card according to claim 2, wherein said first protocol unit isselected from the group consisting of a MultiMediaCard protocol unit, aSecureDigital protocol unit, a CompactFlash protocol unit, a MemoryStick protocol unit, and a non-volatile mass memory card protocol unit.5. The memory card according to claim 1, wherein said NVM unit, said atleast two protocol units, and said logic unit are on a single substrate.6. The memory card according to claim 1, wherein said first and secondprotocol units are on separate substrates.
 7. The memory card accordingto claim 1, wherein said logic unit selects a protocol unit based on anexternal signal indicating a protocol used by a host application.
 8. Thememory card according to claim 7, wherein said second protocol unit isselected if the host application substantially conforms to the ISO 7816standard.
 9. The memory card according to claim 8, wherein said secondprotocol unit grants the host application access to said integratednon-volatile memory array.
 10. The memory card according to claim 7,wherein said first protocol unit is selected if the host applicationdoes not substantially conform to the ISO 7816 standard, and said firstprotocol unit grants the host application access to the NVM unit.
 11. Amethod of operating a multi protocol NVM card, the method comprising:switching a between a first and a second protocol mode based on a signalfrom an application seeking access to the NVM card.
 12. The methodaccording to claim 11, wherein said switching from the first to thesecond protocol modes comprises: commanding the NVM memory card toswitch to the second protocol mode; and setting up the second protocolmode.
 13. The method according to claim 12, wherein said commandingcomprises activating a physical switch.
 14. The method according toclaim 12, wherein said commanding comprises sending a firmware command.15. The method according to claim 12, wherein said commanding comprisesactivating a second protocol unit.
 16. The method according to claim 12,wherein said setting up comprises performing an initialization sequence.17. The method according to claim 12, wherein said setting up comprisesrestoring a previous card state.
 18. The method according to claim 12further comprising saving the current card state.
 19. The methodaccording to claim 11, wherein switching from the second protocol modeto the first protocol mode comprises: commanding the NVM memory cardcommand to switch to the first protocol mode; and setting up the firstprotocol mode.
 20. The method according to claim 19, wherein saidcommanding comprises activating a physical switch.
 21. The methodaccording to claim 19, wherein said commanding comprises sending afirmware command.
 22. The method according to claim 11, wherein saidsecond protocol mode substantially conforms to the ISO 7816 standard andbefore the NVM card switches from the second protocol mode to the firstprotocol mode, a determination is made whether such a switch ispossible.
 23. An interface between an application substantiallycompliant with the ISO 7816 standard and a multi protocol memory card,said interface comprising: a first connector to said application and asecond connector to said multi-protocol memory card; and a signalingstructure to indicate to said multi protocol memory card to operate in amode substantially compliant with the ISO 7816 standard.
 24. Theinterface according to claim 23, wherein said second connector isselected form the group consisting of a MultiMediaCard connector, aSecureDigital card connector, a CompactFlash card connector, a MemoryStick connector, and a non-volatile mass memory card connector.
 25. Theinterface according to claim 23, wherein said signaling structure is aconducting jumper connected to two or more pins on said secondconnector.
 26. The interface according to claim 23, wherein saidsignaling structure is a signal source.